const domainName = getApp().globalData.domainName
const parameter = getApp().globalData.parameter
const oss_domain = getApp().globalData.oss_domain

const page_init=(that,user_id, test_paper_id)=>{
  wx.showLoading({title: '大量数据计算中……'})
  wx.request({
    url: domainName + '/testPaper_details_init',
    data: {
      user_id:user_id,
      test_paper_id:test_paper_id,
    },...parameter,
    success: res => {
      console.log('res',res.data)
      let has_right = res.data.has_right  // 1-机构管理员；2-已完成测试学员；3-未完成测试学员
      let jg_stu_id = res.data.jg_stu_id
      if(!has_right){
        wx.showModal({
          content: '您还没有查阅该试卷的权限，请咨询您的教员/老师',
          showCancel: false,
          title: '提示',
          success:res=>{
            wx.switchTab({
              url: '/pages/index/index',
            })
          }
        })
      }else{
        let paper_info = res.data.paper_info
        let isOverdue = check_isOverdue(paper_info.invalid_datetime) // 是否过期
        let isInactive = check_isInactive(paper_info.start_datetime) // 是否到生效期
        if(isOverdue){  // 如果过期了
          wx.showModal({
            content: '该试卷已过期',
            showCancel: false,
            title: '提醒',
          })
        }else if(isInactive){ //如果还未到达生效期
          wx.showModal({
            content: '该试卷尚未到达生效时间',
            showCancel: false,
            title: '提醒',
          })
        }else if(paper_info.status!=1){ // 如果已经失效
          wx.showModal({
            content: '该试卷已失效',
            showCancel: false,
            title: '提醒',
          })
        }
        that.setData({
          paper_info:paper_info,
          isOverdue:isOverdue,
          isInactive:isInactive,
          has_right:has_right,
          loading:false,
        })
        // 存储【学号】jg_stu_id
        if(jg_stu_id){
          wx.setStorageSync('jg_stu_id', jg_stu_id)
        }
      } 
      wx.hideLoading()
    },
  })
}
const get_openid_userid=(that,js_code)=>{
  // 发送 res.code 到后台换取 openId, sessionKey, unionId
  wx.request({
    url: domainName + '/get_openid_userid',
    data: {
      js_code:js_code
    },...parameter,
    success: res => {
      let user_id = res.data.user_id
      wx.setStorageSync('user_id', user_id)
      page_init(that, user_id, that.test_paper_id)
    },
    fail:err=>{
      getApp().timeout_reconnect(err.errMsg,that)
    }
  })
}
  // 返回
  const back=(that)=>{
    if(getCurrentPages().length>1){
      wx.navigateBack()
    }else{
      wx.switchTab({
        url: '/pages/index/index',
      })
    }
  }
  // 开始做题
const go_doTi=(that)=>{
    if(that.data.has_right==2){
      wx.showToast({
        title: '您已完成测试！',
        duration: 2000,
        icon: 'success',
      })
      return
    }
    wx.navigateTo({
      url: '/pages/doTi/do_test/do_test?test_paper_id=' + that.test_paper_id,
    })
  }
// 检查是否失效
const check_isOverdue=(the_time)=>{
  if(the_time){
    let res = true
    if(new Date(the_time)>new Date()){
      res = false
    }
    return res
  }
  return
}
// 检查是否生效
const check_isInactive=(the_time)=>{
  if(the_time){
    let res = false
    if(new Date(the_time)>new Date()){
      res = true
    }
    return res
  }
  return
}

const user_id = wx.getStorageSync('user_id')
// pages/testPaper_details/testPaper_details.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    icon_url:oss_domain + 'static/picture/app_icon/',
    loading:true,
    has_right:0,
    windowWidth:wx.getSystemInfoSync().windowWidth,

  },
  // 返回
  back(){getApp().get_vibration();back(this)},
  // 开始做题
  go_doTi(){getApp().get_vibration();go_doTi(this)},

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.test_paper_id = options.test_paper_id
    if(user_id){
      page_init(this,user_id, this.test_paper_id)
    }else{
      wx.login({
        // timeout: 0,
        success: res => {
          // console.log('用户登录',res)
          let js_code = res.code
          get_openid_userid(this,js_code)
        },
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },


  /**
   * 用户点击右上角分享
   */
  onShareAppMessage(e) {
    console.log('用户点击右上角分享',e)
    getApp().get_vibration()
    return  {
      title: '试卷：' + this.data.paper_info.test_name,
      // imageUrl:'https://yqwl.top/app_images/caac.png',
      path: '/pages/doTi/paper_details/paper_details?test_paper_id=' + this.test_paper_id
    }
  }
})